package com.kd.service.recruiter;

import java.util.Map;

import com.github.pagehelper.PageInfo;
import com.kd.bean.recruiter.Company_msg;
import com.kd.bean.recruiter.Recruiter_basic;
import com.kd.bean.recruiter.Recruitment_msg;

/**
 * 招聘信息表<服务层>
 * @author ZFC
 *
 */
public interface IRecruitment_msgService {
	
	/**
	 *  * <默认分页显示所有岗位招聘信息（一次10条信息）。
	 * 仅显示招聘岗位，薪资待遇，招聘公司，公司地址，工作经验年限，以及招聘者头像，名字。
	 * 招聘信息状态为1的所有信息
	 * @param pageNum 第一页
	 * @param pageSize 显示几行
	 * @return
	 * @throws Exception
	 */
	public PageInfo<Recruitment_msg> queryAllByRecruitment_msg(Integer pageNum,Integer pageSize,Map<String, Object> map) throws Exception;
	
	/**
	 * 管理员
	 * 查看举报招聘者信息，如果确实违规可对招聘者进行禁用
	 * @param rec_id
	 * @param msg_state
	 * @return
	 */
	public Boolean updateRec_msg_state(Integer rec_id,Integer msg_state);
	

	/**
	 * 管理员
	 * 查看所有招聘信息
	 * @return
	 * @throws Exception
	 */
	public PageInfo<Recruitment_msg> queryAllRecruitment_msg(Integer pageNum,Integer pageSize) throws Exception;;
	
	/**
	 * 查询刚刚发布的招聘信息
	 * 审核状态为3的所有信息
	 * @return
	 * @throws Exception
	 */
	public PageInfo<Recruitment_msg> queryGGFaBuZhaoPingMessage(Integer pageNum,Integer pageSize) throws Exception;
	
	/**
	 * 管理员
	 * 修改发布招聘信息的状态为审核通过
	 * @param rec_id
	 * @param rec_msg_check_state
	 * @return
	 * @throws Exception
	 */
	public Boolean updateFaBuZhaoPingMessagRec_msg_check_state(Integer rec_id,Integer rec_msg_check_state,Integer admin_id) throws Exception;
	
	/**
	 * 管理员
	 * 查询岗位数
	 * @return
	 * @throws Exception
	 */
	public Integer queryJobCount() throws Exception;
	
	/**
	 * 管理员
	 * 查看每日岗位数
	 * @return
	 * @throws Exception
	 */
	public Integer queryNowJobCount() throws Exception;
	
	/**
	 * 招聘者
	 * 查看自己旗下所有招聘信息
	 * @param recruiter_id
	 * @return
	 * @throws Exception
	 */
	public PageInfo<Recruitment_msg> queryAllRecMsgByRecruiter_id(
			Integer pageNum,Integer pageSize,Integer recruiter_id) throws Exception;
	
	/**
	 * 招聘者
	 * 删除招聘信息
	 * @param rec_id
	 * @return
	 * @throws Exception
	 */
	public Boolean removeRecMsgByRecruiter_id(Integer rec_id) throws Exception;
	
	/**
	 * 招聘者
	 * 发布招聘信息
	 * @param recMsg
	 * @return
	 * @throws Exception
	 */
	public Boolean insertRecMsg(Recruitment_msg recMsg,Recruiter_basic basic,Company_msg company) throws Exception;
	
	/**
	 * 查询招聘信息
	 * @param rec_id 招聘信息id
	 * @return
	 * @throws Exception
	 */
	public Recruitment_msg queryByRec_id(Integer rec_id) throws Exception;
}
